package com.zhijian.medical.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "常规病例-取材-切片")
public class RoutineSingleSampleQp {

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 样本ID
     */
    @ApiModelProperty("样本ID")
    private Long sampleId;

    /**
     * 任务来源
     */
    @ApiModelProperty("任务来源")
    private String taskSource;

    /**
     * 序号
     */
    @ApiModelProperty("序号")
    private String number;

    @ApiModelProperty("病理号")
    @TableField(exist = false)
    private String blh;

    @ApiModelProperty(value = "切片归档状态", hidden = true)
    @TableField(exist = false)
    private Integer gdState;

    public String getGdSateStr(){
        if (gdState != null && gdState == 1){
            return "已借出";
        }else if (gdState != null && gdState == 2){
            return "已归还";
        }
        return "已归档";
    }

    /**
     * 组织名称
     */
    @ApiModelProperty("组织名称")
    private String name;

    /**
     * 取材块数
     */
    @ApiModelProperty("取材块数")
    private Integer takeNumber;

    @ApiModelProperty("病人名称")
    @TableField(exist = false)
    private String patientName;

    /**
     * 取材医生
     */
    @ApiModelProperty("取材医生")
    private String takeDoctor;

    /**
     * 取材时间
     */
    @ApiModelProperty("取材时间")
    private String takeTime;

    /**
     * 状态，上机or脱钙
     */
    @ApiModelProperty("状态，上机or脱钙")
    private String status;

    /**
     * 脱水筐编号
     */
    @ApiModelProperty("脱水筐编号")
    private String tsBasketCode;

    /**
     * 染色架编号
     */
    @ApiModelProperty("染色架编号")
    private String  rsjCode;

    @ApiModelProperty("染色架编号集合")
    @TableField(exist = false)
    private List<String> rsjCodeList;

    /**
     * 取材评价
     */
    @ApiModelProperty("取材评价")
    private String evaluate;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("取材ID")
    @TableField(exist = false)
    private Integer qcId;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime;

    @ApiModelProperty("切片类型，0 HE切片 1 白片 2细胞切片 3 特染切片")
    private Integer qpType;

    @ApiModelProperty("切片状态 0 切片中 1 已结束")
    private Integer qpState;

    @ApiModelProperty("切片归档状态 0 为归档 1 已归档 2 已出借")
    private Integer qpGdStatus;
}
